#include <REGX52.H>

void Timer0_Init()
{
	//设置定时器工作模式TMOD为方式1
	//TMOD为不可位寻址，只能整体赋值，可采用&=、|=使其只改变某些位
	TMOD&=0xf0;//高四位不变，低四位清零
	TMOD|=0x01;//最低位置1，其余位不变 //TOMD=0x01
	//定时时间=（2^16-X）*12/晶振频率
	TL0=0x66;
	TH0=0xfc;//定时1ms
	//设置定时器控制寄存器TCON
	TF0=0; //中断溢出标志位先清0，避免刚配置好就中断
	TR0=1; //定时器开始工作
	//中断
	EA=1;//允许总中断
	ET0=1;//T0的中断溢出允许位，T0=1,允许中断
}


void main()
{
	Timer0_Init();
	while(1)
	{
		
	}
}

void Timer0_Runtine() interrupt 1
{
	unsigned int Count;//计数
	TL0=0x66;
	TH0=0xfc;
	Count++;
	if(Count>=1000)//计数累加到1000，定时器定时1000ms=1s
	{
			P2_0=~P2_0;//LED状态取反
		Count=0;
	}
}